﻿﻿using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using transferObjects;
using System.Collections.Generic;

/// <summary>
/// Descripción breve de EmpresaDB
/// </summary>
namespace dao.sqlServer2005
{
    public class CajaCompensacionDB
    {
        SqlCommand insertCajaCompensacion;
        SqlCommand updateCajaCompensacion;
        SqlCommand deleteCajaCompensacion;
        SqlCommand selectCajasCompensacion;


        public CajaCompensacionDB(SqlConnection connection)
        {
            // query que inserta los datos en la bd empresa
            String query = "INSERT INTO CajaCompensacion (cajaCompensacionOA) VALUES(@cajaCompensacionOA)";
            insertCajaCompensacion = new SqlCommand(query, connection);

            //query que selecciona todos las empresas 
            query = "SELECT * " +
                    "FROM CajaCompensacion";
            selectCajasCompensacion = new SqlCommand(query, connection);

            //updateCajaCompensacion
            query = "UPDATE CajaCompensacion SET cajaCompensacionOA=@cajaCompensacionOANueva WHERE cajaCompensacionOA=@cajaCompensacionOA";
            updateCajaCompensacion = new SqlCommand(query, connection);

            //deleteCajaCompensacion
            query = "DELETE FROM CajaCompensacion WHERE cajaCompensacionOA=@cajaCompensacionOA";
            deleteCajaCompensacion = new SqlCommand(query, connection);

        }

        //agregar caja de compensacion
        public int agregarCajaCompensacion(String cajaCompensacion)
        {
            try
            {
                insertCajaCompensacion.Parameters.Add(new SqlParameter("cajaCompensacionOA", SqlDbType.VarChar));
                insertCajaCompensacion.Parameters[0].Value = cajaCompensacion;

                int res = insertCajaCompensacion.ExecuteNonQuery();

                return res;
            }
            catch (Exception e)
            {
                throw new Exception("Error en dao.sqlServer2005.Caja CompensacionDB metodo agregarCajaCompensacion \n\n" + e.Message);
            }
        }

        //Modificar caja de compensacion
        public int modificarCajaCompensacion(String cajaCompensacionNueva, String cajaCompensacion)
        {
            try
            {
                updateCajaCompensacion.Parameters.Add(new SqlParameter("cajaCompensacionOANueva", SqlDbType.VarChar));
                updateCajaCompensacion.Parameters.Add(new SqlParameter("cajaCompensacionOA", SqlDbType.VarChar));
                updateCajaCompensacion.Parameters[0].Value = cajaCompensacionNueva;
                updateCajaCompensacion.Parameters[1].Value = cajaCompensacion;

                int res = updateCajaCompensacion.ExecuteNonQuery();

                return res;
            }
            catch (Exception e)
            {
                throw new Exception("Error en dao.sqlServer2005.Caja CompensacionDB metodo agregarCajaCompensacion \n\n" + e.Message);
            }
        }

        //Eliminar caja de compensacion
        public int eliminarCajaCompensacion(String cajaCompensacion)
        {
            try
            {
                deleteCajaCompensacion.Parameters.Add(new SqlParameter("cajaCompensacionOA", SqlDbType.VarChar));
                deleteCajaCompensacion.Parameters[0].Value = cajaCompensacion;

                int res = deleteCajaCompensacion.ExecuteNonQuery();

                return res;
            }
            catch (Exception e)
            {
                throw new Exception("Error en dao.sqlServer2005.Caja CompensacionDB metodo agregarCajaCompensacion \n\n" + e.Message);
            }
        }

        //obtener todas las empresas de la bd
        public List<String> obtenerCajasCompensacion()
        {
            try
            {
                List<String> cajasCompensacion = new List<String>();
                SqlDataReader reader = selectCajasCompensacion.ExecuteReader();
                while (reader.Read())
                {
                    //cajaCompensacion = new CajaCompensacion();
                    cajasCompensacion.Add(reader.GetString(0));
                }
                return cajasCompensacion;
            }
            catch (Exception e)
            {
                throw new Exception("Error en dao.sqlServer2005.CajasCompensacionDB, método obtenerCajasCompensacion \n\nDetalle error:" + e.Message);
            }

        }

        
    }
}

